package com.longma.server.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

import com.longma.server.constant.enums.YuncangModeEnum;
import com.longma.server.constant.enums.YuncangStateEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author HAIBO
 * @since 2021-04-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="Yuncang对象", description="")
public class Yuncang implements Serializable {

    private static final long serialVersionUID=1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "云仓名称")
    private String yuncangName;

    @ApiModelProperty(value = "采集器SN")
    private String collectorSn;

    @ApiModelProperty(value = "规格尺寸")
    private Double size;

    @ApiModelProperty(value = "运行模式")
    private YuncangModeEnum mode;

    @ApiModelProperty(value = "省份")
    private String province;

    @ApiModelProperty(value = "城市")
    private String city;

    @ApiModelProperty(value = "经度")
    private Double longitude;

    @ApiModelProperty(value = "纬度")
    private Double latitude;

    @ApiModelProperty(value = "主要设备")
    private String mainDevice;

    @ApiModelProperty(value = "系统额定电压")
    private Double voltage;

    @ApiModelProperty(value = "系统额定功率")
    private Double power;

    @ApiModelProperty(value = "光伏容量")
    private Double capacity;

    @ApiModelProperty(value = "逆变一体机")
    private String converter;

    @ApiModelProperty(value = "并网端功率")
    private Double powerGrid;

    @ApiModelProperty(value = "离网端功率")
    private Double powerIsolated;

    @ApiModelProperty(value = "电池容量")
    private Double batterySize;

    @ApiModelProperty(value = "电池数量")
    private Integer batteryNum;

    @ApiModelProperty(value = "电池类型")
    private Integer batteryType;

    @ApiModelProperty(value = "水箱容量")
    private Double tankCapacity;

    @ApiModelProperty(value = "传感器数量")
    private Integer sensorNum;

    @ApiModelProperty(value = "萤石摄像头，设备序列号")
    private String cameraDeviceSerial;

    @ApiModelProperty(value = "萤石摄像头，设备验证码，设备机身上的六位大写字母")
    private String cameraValidateCode;

    @ApiModelProperty(value = "萤石摄像头，视频直播地址")
    private String cameraVideoAddress;

    @ApiModelProperty(value = "0运行,1报警,2停止")
    private YuncangStateEnum state;

    @ApiModelProperty(value = "安装时间")
    private LocalDateTime installTime;

    @TableField(fill= FieldFill.INSERT)
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @TableField(fill= FieldFill.UPDATE)
    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "备注")
    private String note;

    @ApiModelProperty(value = "用户名称")
    @TableField("yuncanguser_name")
    private String yuncanguserName;
}
